package com.example.demo3;

import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class Test {
    public static void main(String[] args) {
        try (
                // 创建BufferedReader以读取系统菜单文本文件
                BufferedReader br = new BufferedReader(new FileReader("day25-final-test/src/系统菜单.txt"));
                // 创建BufferedWriter以写入排序后的数据到新的文本文件
                BufferedWriter bw = new BufferedWriter(new FileWriter("day25-final-test/src/系统菜单2.txt"))
        ) {
            // 初始化数据列表,用于存储从文件中读取的每一行数据
            List<String> data = new ArrayList<>();
            String line;
            // 循环读取文件中的每一行数据,直到文件结束
            while ((line = br.readLine()) != null) {
                data.add(line);
            }

            // 对数据进行排序并打印到控制台,这一步展示了如何使用Stream API进行排序和打印
            data.stream().sorted().forEach(System.out::println);

            // 重新排序数据列表,这一步是可选的,因为数据已经通过上一步进行了排序
            data = data.stream().sorted().collect(Collectors.toList());

            // 遍历排序后的数据列表,并将每个数据写入到新的文件中
            for (String s : data) {
                bw.write(s);
                bw.newLine();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
